//
//  User.h
//  TwitterPlane
//
//  Created by kazuyuki takahashi on 10/01/26.
//  Copyright 2010 by invisibledesigner.com. All rights reserved.
//

#import <Cocoa/Cocoa.h>


/**
 * Twitterユーザを表すモデルクラス
 * 不変クラス。
 */
@interface User : NSObject {
    NSString *userID_;
    NSString *name_;
    NSString *screenName_;
    BOOL isProtected_;
    NSURL *profileImageURL_;
}

@property(readonly) NSString *userID;
@property(readonly) NSString *name;
@property(readonly) NSString *screenName;
@property(readonly) BOOL isProtected;
@property(readonly) NSURL *profileImageURL;
@property(readonly) NSURL *profileURL;


/**
 * Userオブジェクトを取得。
 * 同じidのデータならば同一のインスタンスが返されるかも。
 * @param dic MGTwitterEngineDelegateで得られるdictionaryオブジェクト
 * @return userオブジェクト。引数のフォーマットが不正ならnil
 */
+ (id)userForDictionary:(NSDictionary*)dic;

//便宜的にここに定義しておく
+ (NSString*)myScreenName;
+ (void)setMyScreenName:(NSString*)name;

@end
